System and method for generating a personalized concert playlist

ABSTRACT

In accordance with an embodiment, described herein is a system and method for providing access to media content associated with an artist scheduled for performance. A media application enables display of a playlist personalized for a user, based on a location of the user, a list of artists scheduled for performance, and a media consumption history of the user. An input action causes a media server to populate the playlist with media content. The media server determines the location of the user, retrieves those performance listings within a predetermined distance, retrieves the media consumption history of the user, filters the performance listings based on the media consumption history to obtain a set of artists having performance listings relevant to the user, selects media content items associated with each artist, and organizes the selected media content items within the playlist.

FIELD OF INVENTION

Embodiments of the invention are generally related to providing digitalmedia content, and are particularly related to a system and method forproviding a personalized concert playlist, or access to media contentassociated with an artist scheduled for performance, and for providingaccess to information about the scheduled performance.

BACKGROUND

Today's consumers enjoy the ability to access a tremendous amount ofmedia content, such as music and videos, using a wide variety of mediadevices. Digital media content environments, for example media streamingservices such as Spotify, enable users to stream music content thatcomplements their lifestyle, while commuting, exercising, relaxing athome, or engaging in other types of activities.

As the music industry shifts toward streaming services and away fromphysical media, artists have begun to derive a greater share of theirearnings through concerts and other performances. To the extent thatstreaming services can promote these concerts and performances or simplyincrease awareness of these concerts and performances, a streamingservice can engender goodwill both with artists that rely on ticket salevolume to maximize earnings and with the streaming service user basethat wants to stay informed and wants to experience their favoriteartists perform live.

Traditional media content environments and streaming services aregenerally operated to provide playback of media content while providingaccess to concert and performance information via dedicated artist pagesor dedicated concert listing pages. In general, most people are notaware when their favorite artists are playing concerts in their area.Even regular concert goers that visit dedicated artist and concertlisting pages often fail to keep up with updated concert listings andoften miss opportunities for purchasing tickets. Further, people aretypically not aware that an upcoming concert might be something theywould enjoy if they are not familiar with the artist. Artists losepotential revenue when a venue is under-booked, especially when a venueis under-booked due to lack of promotion and visibility to a potentialaudience.

SUMMARY

In accordance with an embodiment, described herein is a system andmethod for providing access to media content associated with an artistscheduled for performance. A media application enables display of aplaylist personalized for a user, based on a location of the user, alist of artists scheduled for performance, and a media consumptionhistory of the user. An input action causes a media server to populatethe playlist with media content. The media server determines thelocation of the user, retrieves those performance listings within apredetermined distance, retrieves the media consumption history of theuser, filters the performance listings based on the media consumptionhistory to obtain a set of artists having performance listings relevantto the user, selects media content items associated with each artist,and organizes the selected media content items within the playlist.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a system for providing media content,in accordance with an embodiment.

FIG. 2 illustrates an exemplary connected media environment, inaccordance with an embodiment.

FIG. 3 illustrates a system for providing access to media contentassociated with an artist scheduled for performance using a digitalmedia content environment, in accordance with an embodiment.

FIG. 4 further illustrates a system for providing access to mediacontent associated with an artist scheduled for performance using adigital media content environment, in accordance with an embodiment.

FIG. 5 is a flowchart for a method for providing access to media contentassociated with an artist scheduled for performance using a digitalmedia content environment, in accordance with an embodiment.

FIG. 6 is a flowchart for a method for populating a playlist forproviding access to media content associated with an artist scheduledfor performance using a digital media content environment, in accordancewith an embodiment.

DETAILED DESCRIPTION

As described above, digital media content environments, for examplemedia streaming services such as Spotify, enable users to stream musiccontent that complements their lifestyle, while commuting, exercising,relaxing at home, or engaging in other types of activities, whileproviding access to information such as concert and performanceinformation via dedicated artist pages or dedicated concert listingpages. However, most users are not aware that concert and performanceinformation is available, forget that concert and performanceinformation is available, or simply do not access concert andperformance information often enough to be aware that concert andperformances that may be of interest to them are scheduled for theirarea.

In accordance with an embodiment, described herein is a system andmethod for providing access to media content associated with an artistscheduled for performance. A media application enables display of aplaylist personalized for a user, based on a location of the user, alist of artists scheduled for performance, and a media consumptionhistory of the user. An input action causes a media server to populatethe playlist with media content. The media server determines thelocation of the user, retrieves those performance listings within apredetermined distance, retrieves the media consumption history of theuser, filters the performance listings based on the media consumptionhistory to obtain a set of artists having performance listings relevantto the user, selects media content items associated with each artist,and organizes the selected media content items within the playlist.

Digital Media Content Environments

FIG. 1 illustrates an exemplary digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 1, in accordance with an embodiment, a mediadevice 102, operating as a client device, can receive and play mediacontent provided by a media server system 142 (media server), or byanother system or peer device. In accordance with an embodiment, themedia device can be, for example, a personal computer system, handheldentertainment device, tablet device, smartphone, television, audiospeaker, in-car entertainment system, or other type of electronic ormedia device that is adapted or able to prepare a media content forpresentation, control the presentation of media content, and/or play orotherwise present media content.

In accordance with an embodiment, each of the media device and the mediaserver can include, respectively, one or more physical device orcomputer hardware resources 104, 144, such as one or more processors(CPU), physical memory, network components, or other types of hardwareresources.

Although, for purposes of illustration, a single client media device andmedia server are shown, in accordance with an embodiment a media servercan support the simultaneous use of a plurality of client media devices.Similarly, in accordance with an embodiment, a client media device canaccess media content provided by a plurality of media servers, or switchbetween different media streams produced by one or more media servers.

In accordance with an embodiment, the media device can optionallyinclude a touch-enabled or other type of display screen having a userinterface 106, which is adapted to display media options, for example asan array of media tiles, thumbnails, or other format, and to determine auser interaction or input. Selecting a particular media option, forexample a particular media tile or thumbnail, can be used as a commandby a user and/or the media device, to the media server, to download,stream or otherwise access a corresponding particular media content itemor stream of media content.

In accordance with an embodiment, the media device can also include asoftware media application 108, together with an in-memory client-sidemedia content buffer 110, and a client-side data buffering logic orsoftware component 112, which can be provided as software or programcode that is executable by a computer system or other processing device,and which can be used to control the playback of media content receivedfrom the media server, for playing either at a requesting media device(i.e., controlling device) or at a controlled media device (i.e.,controlled device), in the manner of a remote control.

In accordance with an embodiment, a connected media environment logic orsoftware component 114, which can be provided as software or programcode that is executable by a computer system or other processing device,can be provided at the media device, either as part of the mediaapplication, or separately, for example as a firmware, to enable themedia device to participate within a connected media environment (e.g.,a Spotify Connect environment) that enables a user to control theplayback of media content at such controlled devices.

In accordance with an embodiment, the client-side data buffering logic,together with the media content buffer, enables a portion of mediacontent items, or samples thereof, to be pre-buffered at a client mediadevice. For example, while media options are being prepared for displayon a user interface, e.g., as media tiles or thumbnails, their relatedmedia content can be pre-buffered at the same time, and cached by one ormore media devices in their media content buffers, for prompt andefficient playback when required.

In accordance with an embodiment, the media server can include anoperating system 146 or other processing environment which supportsexecution of a media server 150 that can be used, for example, to streammusic, video, or other forms of media content to a client media device,or to a controlled device.

In accordance with an embodiment, the media server can provide asubscription-based media streaming service, for which a client mediadevice or user can have an associated account and credentials, and whichenable the user's media device to communicate with and receive contentfrom the media server. A received media-access request from a clientmedia device can include information such as, for example, a networkaddress, which identifies a destination media device to which the mediaserver should stream or otherwise provide media content, in response toprocessing the media-access request.

For example, a user may own several media devices, such as a smartphoneand an audio speaker, which can play media content received from a mediaserver. In accordance with an embodiment, identifying informationprovided with a media-access request can include an identifier, such asan IP address, MAC address, or device name, which identifies that themedia-access request is intended for use with a particular destinationdevice. This allows a user, for example, to use their smartphone as acontrolling device, and their audio speaker as a controlled device towhich media content should be sent. The media server can then send therequested media and/or forward the media-access request to the audiospeaker, even though the request originated at the user's smartphone.

In accordance with an embodiment, one or more application interface(s)148 can receive requests from client media devices, or from othersystems, to retrieve media content from the media server. A contextdatabase 162 can store data associated with the presentation of mediacontent by a client media device, including, for example, a currentposition within a media stream that is being presented by the mediadevice, or a playlist associated with the media stream, or one or morepreviously-indicated user playback preferences. The media server cantransmit context information associated with a media stream to a mediadevice that is presenting that stream, so that the context informationcan be used by the device, and/or displayed to the user. The contextdatabase can be used to store a media device's current media state atthe media server, and synchronize that state between devices, in acloud-like manner. Alternatively, media state can be shared in apeer-to-peer manner, wherein each device is aware of its own currentmedia state which is then synchronized with other devices as needed.

For example, in accordance with an embodiment, when the destinationmedia device to which the media content is being streamed changes, sayfrom a controlling device to a controlled device, or from a firstcontrolled device to a second controlled device, then the media servercan transmit context information associated with an active media contentto the newly-appointed destination device, for use by that device inplaying the media content.

In accordance with an embodiment, a media content database 164 caninclude media content, for example music, songs, videos, movies, orother media content, together with metadata describing that mediacontent. The metadata can be used to enable users and client mediadevices to search within repositories of media content, to locateparticular media content items.

In accordance with an embodiment, a server-side media content bufferinglogic or software component 180, which can be provided as software orprogram code that is executable by a computer system or other processingdevice, can be used to retrieve or otherwise access media content items,in response to requests from client media devices or other systems, andto populate a server-side media content buffer 181, at a media deliverycomponent or streaming service 152, which can be similarly provided assoftware or program code that is executable by a computer system orother processing device, with streams 182, 184, 186 of correspondingmedia content data, which can then be returned to the requesting deviceor to a controlled device.

In accordance with an embodiment, a plurality of client media devices,media server systems, and/or controlled devices, can communicate withone another using a network, for example the Internet 190, a local areanetwork, peer-to-peer connection, wireless or cellular network, or otherform of network. For example, a user 120 can interact 118 with the userinterface at a client media device, and issue requests to access mediacontent, for example the playing of a selected music or video item attheir device, or at a controlled device, or the streaming of a mediachannel or video stream to their device, or to a controlled device.

In accordance with an embodiment, the user's selection of a particularmedia option can be communicated 192 to the media server, via theserver's application interface. The media server can populate itsserver-side media content buffer at the server, with corresponding mediacontent 116, including one or more streams of media content data, andcan then communicate 194 the selected media content to the user's mediadevice, or to a controlled device as appropriate, where it can bebuffered in a client-side media content buffer for playing at thedevice.

In accordance with an embodiment, and as further described below, thesystem can include a server-side media gateway or access point 154,provided as software or program code that is executable by a computersystem or other processing device, or other process or component, whichoperates as a load balancer in providing access to one or more servers,for use in processing requests at those servers. The system can enablecommunication between a client media device and a server, via an accesspoint at the server, and optionally the use of one or more routers, toallow requests from the client media device to be processed either atthat server and/or at other servers.

For example, in a Spotify media content environment, Spotify clientsoperating on media devices can connect to various Spotify back-endprocesses via a Spotify “accesspoint”, which forwards client requests toother servers, such as sending one or more metadataproxy requests to oneof several metadataproxy machines, on behalf of the client or end user.

FIG. 2 further illustrates an example of a system for providing mediacontent, in accordance with an embodiment.

As illustrated in FIG. 2, in accordance with an embodiment, a connectedmedia environment 130, for example a Spotify Connect environment,enables communication between a client device and the server-side accesspoint in a connected manner from the perspective of a user. Examples ofthe types of media device that can be provided within a connected mediaenvironment include audio speakers 133, televisions 134, computers 135,smartphones 136, and in-car entertainment systems 137, or other types ofmedia device.

In accordance with an embodiment, a client device having an applicationuser interface can act as a controlling client device, to control 132the playback of media content at a controlled device. In accordance withan embodiment, a client device can itself act as a media gateway oraccess point, for use by other devices within the system for providingmedia content.

In accordance with an embodiment, a controlled device can also include amedia application, which in the case of an audio speaker, television orsimilar device can be included within the device itself as firmwarelogic, or within, for example, a separate set-top box or similarafter-market device.

As described above, in accordance with an embodiment, a user caninteract with the user interface at a client device, and issue requeststo access media content, for example the playing of a selected music orvideo item at their client device or at a controlled device, or thestreaming of a media channel or video stream to their client device orto a controlled device.

For example, in accordance with an embodiment, a user can request thatmedia content be buffered, streamed or received and played at acontrolling client device such as a smartphone, and simultaneouslybuffered, streamed or received for playing at one or more controlleddevices, such as an audio speaker. Similarly, for example, the user canissue a media-change request 192 to change a media channel, in responseto which the media server can switch the media channel at the controlleddevice, and thereafter continue to stream or buffer media content 194for the switched channel, at the controlled device.

As described above, in some instances, a portion of the media contentcan be pre-buffered at the controlled device, so that the switching tothe channel at the controlled device operates in a seamless manner.

Personalized Concert Playlists

In accordance with an embodiment, the system provides access to mediacontent associated with an artist or artists scheduled to perform at aconcert via a personalized concert playlist (also referred to as a“custom playlist”). Typically, a concert is a musical performance givenin public by a performer or several performers. However, in otherembodiments a personalized concert playlist can include media contentfrom artists scheduled for other types of performance and is notnecessarily limited to media content from artists scheduled for amusical performance. For example, a personalized concert playlist caninclude media content for an artist or artists scheduled to perform arecital, a stand-up comedy set, sketch comedy, a poetry reading, aspeaking engagement, a theatrical production and/or any event at which aperformer or group of performers presents one or more works to anaudience.

FIG. 3 illustrates a system for providing access to media contentassociated with an artist scheduled for performance, using a digitalmedia content environment, in accordance with an embodiment.

As illustrated in FIG. 3, in accordance with an embodiment, a mediaapplication 208 enables display of and access to a personalized concertplaylist 222 via a user interface 206 configured according to a playlistlogic 220. As illustrated, the media application is launched on a mediadevice (client) 102 comprising a smartphone, but in other embodimentsthe application can be launched on a media device comprising a personalcomputer system, a handheld entertainment device, a tablet device, atelevision, an audio speaker, an in-car entertainment system, or anyother type of electronic or media device that is adapted or able toprepare media content for presentation, control the presentation ofmedia content, and/or play or otherwise present media content.

In accordance with an embodiment, the personalized concert playlist canbe displayed on a “home” screen loaded upon launching the mediaapplication or alternatively in some other location of the mediaapplication accessible via the user interface. The concert playlist ispersonalized for an account logged into the media application. Asdescribed herein, an account will be associated with “a user”, althoughit will be understood that an account logged into the media applicationmay be accessed by multiple individuals via a media device and apersonalized concert playlist may be generated based on the activity ofmultiple individuals.

In accordance with an embodiment, a media server populates thepersonalized concert playlist using a concert playlist populationservice 270 comprising a concert playlist population logic 280 operatingon data accessed from several different data sources. One data source isa performance listing database 262 that is built using performancelisting feeds made available by external sources 278 such as concertpromoters, agents of concert promoters, e.g. Ticketmaster, or concertdiscovery services, e.g. Songkick. External sources of performancelistings are collectively referred to herein as “partners”.

In accordance with an embodiment, the system can pull the performancelistings by querying the feed of a partner via an applicationprogramming interface (API) associated with the partner and in returnreceiving metadata related to the performance listings. The system canquery these feeds at regular intervals, for example daily, or whenprompted, for example by an administrator. Alternatively, partners canpush performance listings to the system. The metadata received from thefeeds are conditioned to remove duplicate listings and to match artistnames identified by the media server database with the artist namesidentified from the feeds. The conditioned data are ingested into theperformance listings database 276.

In accordance with an embodiment, the personalized concert playlist ispopulated by the media server in response to an input action 293 of auser. The input action can include, for example, the user accessing thepersonalized concert playlist via the user interface. The media servercan respond to the user accessing the personalized concert playlist bypopulating the playlist in near-real time with selected media contentitems for a set of artists each scheduled for a performance andtransmitting the playlist 295 to the media device, as well astransmitting to the media device information and/or links to informationrelated to each performance for access by the user via the concertplaylist.

In accordance with an embodiment, the input action can optionally belimited by the media server so that re-population of the personalizedconcert playlist in response to accessing the playlist occurs only aftersome fixed reset time or after some period elapses subsequent to a priorinput action. For example, the personalized concert playlist can bere-populated upon receiving the input action after twenty-four hourshave elapsed from the prior population of the personalized concertplaylist. Within the twenty-four hour window, the personalized concertplaylist that was previously populated is presented to the user upon theuser accessing the personalized concert playlist.

In accordance with an embodiment, upon receiving the input action fromthe user the media server determines a location of the user. Thelocation of the user can be manually set by the user within the mediaapplication, or can be ascertained by the media server. The media servercan ascertain location by identifying the IP address from which themedia server is accessed by the media device. The media server can thenquery a third party digital mapping company, e.g. MaxMind, whichprovides location data for IP addresses. Alternatively, the mediaapplication can use capabilities of the media device itself. Forexample, for an Apple iOS device, location services functionality can beenabled for use by the media application. Location services enables useof GPS signals and cellular location to ascertain a user's location.

In accordance with an embodiment, once the media server determines alocation of the user, the media server can query the performancelistings database to fetch all upcoming performances relevant to thelocation. The upcoming performances can be limited to those scheduled tooccur within a predefined window of time (e.g. two months) from thecurrent date or can include all upcoming scheduled performances. Aperformance is deemed relevant to the location based on the venuehosting the performance.

In an embodiment, venues are grouped together based on a city or regionso that a location within the city or region receives listings for thegrouped venues. The geographic coverage can vary based on the city orregion and can be predefined by the system.

For example, a location in the Williamsburg neighborhood of Brooklyn,N.Y., may have geographic coverage limited to venues in the Manhattanand Brooklyn boroughs, while a location in the Deep Ellum neighborhoodof Dallas, Tex., may have geographic coverage that include venues in allof Dallas as well as the surrounding cities of Fort Worth and Arlington.In an embodiment, the user can adjust a search setting to expand orcontract the geographic coverage via input at the user interface.

In an alternative embodiment, performances can be associated with thelocation based on a geographic distance of a venue hosting theperformance from the location. The geographic distance of a venue fromthe location can be fixed to a specific radius, e.g. twenty miles,predefined by the user or predefined by the media server. The radius canvary based on the location and/or a search setting.

In accordance with an embodiment, once the upcoming performancesassociated with the location are retrieved by the media server, themedia server can access a user listening profile database 266 to obtaina listening profile generated for and associated with the user. Alistening profile generated for a user reflects the user's affinity forspecific artists, specific media content items, specific music and mediagenres, and other characteristics of media content. The listeningprofile can be generated based on metadata associated with the user'sinteraction with the media application. Such metadata can include, butare not limited to, the user's streaming history, the user's searchhistory, the user's selection of specific media content items, a list ofmedia content items and artists that have been “starred” or otherwiserated by the user, media content items that have been “saved” orotherwise tagged by the user, etc.

Listening profiles and listening profile logic (not shown) used togenerate listening profiles are not necessarily exclusively used bysystems for providing access to media content associated with an artistscheduled for performance in accordance with present embodiments and maybe described elsewhere in greater detail. Algorithms, processes,techniques or methods performable by the system for generating thelistening profile of the user based on metadata can vary myriaddifferent ways and can change over time. Media content can be reflectedpositively or negatively when generating a listening profile of a userbased on interpretation of the metadata. For example, a “starred” mediacontent item, and optionally the associated artist, can be reflectedmore positively when generating a listening profile than a media contentitem that is streamed or otherwise played only a handful of times.Alternatively, a previously “starred” media content item that issubsequently “unstarred” can be interpreted as media content for whichthe user has lost interest and reflected more negatively when generatinga listening profile than a media content item and associated artist thatis streamed or otherwise played a handful of times. These examples aremerely exemplary.

In accordance with an embodiment, once the listening profile of the useris received by the concert playlist population service, the concertplaylist population logic can identify an initial list of artists to beused for filtering the performance listings received from theperformance listings database. Optionally, the list can be ranked toreflect the relative affinity of the user for the artist.

In accordance with an embodiment, the initial list of artists identifiedvia the concert playlist population service can optionally be expandedto include artists the system believes the user may like but that areoutside of the scope of the listening profile of the user.

For example, the initial list of artists can be expanded based on aheavily represented genre within the initial list of artists, or basedon relationships or similarities between listed artists with otherunlisted artists previously identified and recorded by the system.Alternatively, the initial list of artists can be expanded based onanalyses of aggregate user data. For example, an analysis of mediacontent played by the user can be compared with media content played byothers to identify other profiles with similar tastes to the user and toselect artists identified in those other listening profiles to expandthe list of artists for filtering the performance playlist data.

In accordance with an embodiment, the performance listing data isfiltered using the initial or expanded list of artists to produceperformance listings relevant to the user. The artists associated withthe performance listings relevant to the user represent a set of artistsfrom which the concert playlist is generated for the user. A concertplaylist may be limited in size, containing a maximum number of mediacontent items. If the concert playlist is limited in size, the concertplaylist population logic can reduce the set of artists to the maximumnumber based on some method or process that assigns preference toartists. The method or process can assign preference based on a numberof factors, including but not limited to whether the artist is part ofthe initial list of artists or the expanded list of artists relevant tothe user, how the artist is ranked within a list, how popular the artistis within the community of users, and/or how close in time to thecurrent date the performance is scheduled.

In accordance with an embodiment, once the set of artists is selectedand pared, where necessary or desired, the media server can access amedia consumption database 264 to select a media content item for eachof the artists from the set of artists. Optionally, where the set ofartists is below the maximum number of media content items for thecustom playlist, additional media content items can be selected for oneor more of the artists from the set of artists. The media consumptiondatabase can include metadata tracking the selection and streamlining ofall media content items. Media content items for each artist areselected based on the metadata. The selection of media content items canbe made based on a method performed by the custom playlist populationlogic or by some other module that takes into account factors which caninclude one or more of total play count (i.e., popularity within thecommunity), total “star” or “like” count, release date, artistpreference/selection, reviews and/or review scores (e.g. AllMusic.comtrack pick, Pitchfork.com Best New Track selection, etc.), play length,availability of a live performance recording, etc.

Once a media content item is selected for each artist from the list ofartists, the custom playlist logic can arrange the selected mediacontent items within the playlist. In accordance with an embodiment, theselected media content items can be ordered from first to last (top tobottom in the displayed playlist) in chronological order based on thedate of the scheduled performance, with media content items associatedwith artists scheduled to perform closest to the current date arrangedhigher in the order of the selected media content items.

Alternatively, it may be desirable to order the selected media contentitems based on compatibility so that one selected media content item isnot paired with another selected media content item with which it isincompatible. Media content items may be incompatible for a number ofreasons including incompatible tempo, tone, intensity, style, genre,etc. Alternatively, the selected media content items can be orderedbased on a combination of factors including performance listingchronology and compatibility.

While the generation of the custom playlist by querying differentdatabases has been described herein in a particular sequence, this ismerely exemplary and presented as such for the sake of clarity. Databasequeries can be performed in any order. For example, in accordance withan embodiment, the system and method can, upon receiving an input actionof a user, initially query the user listening profile database andsubsequently query the performance listings database.

In accordance with an embodiment, once the custom playlist is generated,it is delivered to the media device by transmitting the custom playlistfrom the media server to the media device. The delivered custom playlistincludes metadata describing the selected media content items and theordering of the custom playlist, but also includes metadata comprisinginformation related to the performance listing, and/or links toinformation related to the performance listing. The custom playlist forthe user 274 is stored at the media server along with custom playlists272 for other users.

In an alternative embodiment, the custom playlist for the user can bestored locally at the media device and purged from the media server, oralternatively stored both locally at the media device and at the mediaserver. As described above, the custom playlist is generated in nearreal time in response to the input action by the user. The customplaylist can be generated in under a second of time, with call to thedifferent data sources occurring on the millisecond scale. Inalternative embodiments, the custom playlists can be pre-generated forthe user base and delivered upon receipt of an input action.

As described above, in an embodiment, a location of the personalizedplaylist within the media application can be fixed, such as on the homescreen. In other embodiments, a location of the personalized playlistwithin the media application can vary based on one or more factors whichcan include, for example, frequency of a user accessing the personalizedplaylist, content of the personalized playlist, promotional events,sponsorship, etc.

For example, if a frequency of the user accessing the personalizedplaylist or streaming media content via the personalized playlist ishigh, the personalized playlist can be located in a position that isvisible by default upon loading the home screen, such as illustrated inFIG. 3. Conversely, if the user infrequently accesses the personalizedplaylist, the personalized playlist can be relocated for display inanother location, such as on a “browse” screen or on dedicated “concert”or “performance” screen.

Further, in some embodiments, a location of the custom playlist can varybased on the media device accessing the media application. For example,a media application launched on a personal computer may have a differentvisual layout than the media application logged into the same accountbut launched on smartphone, where the display screen real estate is morelimited. On a personal computer, the media application is presented withsidebars for accessing music. These sidebars can be displayed at alltimes, and the concert playlist can be pinned to a list of userplaylists in one sidebar for access at any time. On a smartphone, thecustom playlist may only be displayed on certain menus, such as the homescreen, user library screen, playlist screen, etc. Visual layout andlocation of the custom playlist can change with application format andversion, and embodiments as described herein should not be construed asbeing limited to a specific visual presentation.

In accordance with an embodiment, if the media device does not include adisplay screen or its display capabilities are limited, then the concertplaylist may be accessed by a user using verbal cues.

FIG. 4 illustrates a custom playlist generated by the system forproviding access to media content associated with an artist scheduledfor performance, using a digital media content environment, inaccordance with an embodiment. The custom playlist is accessed byselecting it from the media application. As described above, ifselecting the custom playlist is an input action, the custom playlist isgenerated in near real time and delivered to the media device. Onceaccessed, the playlist logic displays the selected media content items224 of the custom playlist in a format for which the custom playlist isprogrammed, which may be different from other playlists.

For example, the functionality of the custom playlist may be limitedrelative to other playlists, with functionality such as saving a mediacontent item, adding a media content item to a playlist, adding aselected media content item to a queue, sharing the media content item,etc. being disabled to simplify the playlist interface and to focus auser's interaction with the playlist to either playing a media contentitem or accessing information about a performance listing associatedwith a selected media content item. However, in other embodiments someor all of the normal playlist functionality may be enabled.

A user can scroll through the playlist and request playback of any ofthe selected media content items 292. The selected media content itemfor which playback is requested is then streamed from the media server294, or optionally if the selected media content item is available inlocal memory on the media device the media application can playback thelocal file. The media server can buffer selected media items that followthe requested selected media content item in the playlist order.Alternatively, the user can request “shuffle play”, and the playlistlogic (or the media server) will buffer and play the selected mediacontent items according to the method or process appropriate for shuffleplay.

In accordance with an embodiment, in addition to displaying the tracktitle and artist of the selected media content items the playlist logicdisplays performance listing information for each item. As illustrated,a date of the performance listing appears below the track title and nextto the artist name, although in other embodiments both the selectedmedia content item information and the performance listing informationcan be displayed in some other visual format and/or animation. Forexample, the performance date can appear as a pop-up visual in responseto playback of the selected media content item.

As illustrated, in addition to the date of the performance listing, anicon 226 is displayed alongside the selected media content item whichwhen selected prompts the media application to request performanceinformation 296 from the media server. The media server then deliversthe performance information 298 to the media device. The performanceinformation can include additional details such as the venue, schedule(e.g., opening acts, headliner), the location, etc., as well as a linkto purchase a ticket to the performance. Selecting the link can launch abrowser or third party application that provides the ability to purchasea ticket to the performance.

In an alternative embodiment, selecting the icon of a selected mediacontent item can immediately launch a browser or third party applicationthat provides both the full performance information as well as theability to purchase a ticket to the performance. The functionality ofthe media application and the interaction with third party applicationscan depend on the media application format and version, and can varybetween media devices, so that a version of the media applicationlaunched on a personal computer can be more expansive in the performancelisting information displayed within the media application than aversion of the media application launched on a smartphone, for example.

In an alternative embodiment, the media application can includefunctionality to purchase tickets to performances within the mediaapplication. Upon selecting the icon, the media application can requestticket information from the media server and can provide purchase andcheckout via interaction with the media server. In such an embodiment,the playback of the media content item can optionally continueuninterrupted while the user interacts with the media application topurchase a ticket or access and review additional information about theperformance.

FIG. 5 illustrates a method for providing access to media contentassociated with an artist scheduled for performance, using a digitalmedia content environment, in accordance with an embodiment.

As illustrated in FIG. 5, at step 400, a media device and mediaapplication are provided for use that enables display of a playlistpersonalized for a user.

At step 402, in response to input by the user, the media device receivesthe personalized playlist populated by a media server with selectedmedia content based on a location of the user, a list of artistsscheduled for performance, and a media consumption history of the user.

At step 404, in response to further input by the user informationregarding a performance listing for an artist associated with a selectedmedia content item is provided to the user via the playlist.

FIG. 6 illustrates a method for populating a personalized playlistincluding selected media content items associated with an artistscheduled for performance, using a digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 6, at step 500, the media server determines alocation of the user.

At step 502, the media server queries a database comprising performancelistings to retrieve those performance listings within a predetermineddistance of the location of the user.

At step 504, the media server queries a database comprising mediaconsumption histories of users of the media application to retrieve themedia consumption history of the user.

At step 506, the media server filters the retrieved performance listingbased on the retrieved media consumption history of the user to obtain aset of artists having performance listings relevant to the user.

At step 508, the media server queries a database comprising mediacontent consumption information to retrieve a listing of selected mediacontent associated with each artist from the set of artists.

At step 510, the media server organizes and populates a personalizedplaylist for the user with the selected media content.

The above examples of generated personalized concert playlists providingaccess to media content associated with an artist scheduled forperformance as well as information for the performance and otherfeatures are provided by way of example.

Embodiments of the present invention may be conveniently implementedusing one or more conventional general purpose or specialized digitalcomputer, computing device, machine, or microprocessor, including one ormore processors, memory and/or computer readable storage mediaprogrammed according to the teachings of the present disclosure.Appropriate software coding can readily be prepared by skilledprogrammers based on the teachings of the present disclosure, as will beapparent to those skilled in the software art.

In some embodiments, the present invention includes a computer programproduct which is a non-transitory storage medium or computer readablemedium (media) having instructions stored thereon/in which can be usedto program a computer to perform any of the processes of the presentinvention. Examples of the storage medium can include, but is notlimited to, any type of disk including floppy disks, optical discs, DVD,CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs,EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards,nanosystems (including molecular memory ICs), or any type of media ordevice suitable for storing instructions and/or data.

The foregoing description of embodiments of the present invention hasbeen provided for the purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseforms disclosed. Many modifications and variations will be apparent tothe practitioner skilled in the art.

For example, while the techniques described above generally illustrateexamples such as a music streaming service such as Spotify, and streamedmusic or song content, the systems and techniques described herein canbe similarly used with other types of media content environments, andother types of streamed data or media content.

The embodiments were chosen and described in order to best explain theprinciples of the invention and its practical application, therebyenabling others skilled in the art to understand the invention forvarious embodiments and with various modifications that are suited tothe particular use contemplated. It is intended that the scope of theinvention be defined by the following claims and their equivalents.

What is claimed is:
 1. A system for providing access to media contentassociated with an artist scheduled for performance, using a digitalmedia content environment, comprising: a media device including a mediaapplication that enables display of a playlist personalized for a userbased on a location of the user, a list of artists scheduled forperformance, and a media consumption history of the user; wherein aninput action can be performed by the user to cause a media server topopulate the playlist with media content accessible to the user via theplaylist; and wherein the media server, upon the user performing theinput action, determines the location of the user, queries a databasecomprising performance listings, each of which performance listings isassociated with an artist scheduled for performance, to retrieveperformance listings within a predetermined distance of the location ofthe user, queries a database comprising media consumption histories of aplurality of users of the media application, to retrieve the mediaconsumption history of the user, wherein the media consumption historyof the user describes media content items previously delivered from themedia server to the user, determines an initial set of artists to beused in filtering the performance listings, based on the retrieved mediaconsumption history of the user, filters the retrieved performancelistings based on the retrieved media consumption history of the user toobtain a filtered set of artists having performance listings relevant tothe user, queries a database comprising aggregate delivery informationof media content items to other users, including listening profilesidentifying media content and artists played by the other users, todetermine one or more other users having listening profiles similar to alistening profile associated with the user, selects one or moreadditional artists identified in the listening profiles of the one ormore other users having listening profiles similar to the listeningprofile associated with the user, determines the one or more additionalartists having performance listings within the predetermined distance ofthe location of the user, as an expanded set of artists, based on theaggregate delivery information, determines a media content itemassociated with each artist from one or more of the filtered set ofartists, or expanded set of artists, and organizes and populates theplaylist with the determined media content items.
 2. The system of claim1, wherein upon populating the playlist the media server providesinformation regarding the performance listing for each artist from theone or more of the filtered set of artists or the expanded set ofartists, accessible to the user via the playlist.
 3. The system of claim2, wherein the information regarding the performance listing for eachartist from the one or more of the filtered set of artists or theexpanded set of artists includes an ability to purchase an admissionticket to the performance.
 4. The system of claim 2, wherein theinformation regarding the performance listing for each artist from theone or more of the filtered set of artists or the expanded set ofartists is accessible to the user via a hyperlink that launches abrowser and loads a website that allows ticket purchase to theperformance.
 5. The system of claim 1, wherein the playlist is organizedchronologically by earliest date of the performance listing for eachartists from the one or more of the filtered set of artists or theexpanded set of artists.
 6. The system of claim 1, wherein the filteredset of artists obtained is limited to a maximum number of artistsselected based on highest user interest as determined based on theretrieved media consumption history of the user.
 7. The system of claim1, wherein the determined media content associated with each artist isidentified based on one or more of content popularity, content releasedate, artist preference, and publisher preference.
 8. The system ofclaim 1, wherein the selected media content items within the playlistare organized based on one or more of tempo, tone, intensity, style, orgenre.
 9. The system of claim 1, wherein the listening profiles aregenerated based on metadata describing user interactions with the mediaapplication.
 10. The system of claim 1, wherein the media application isconfigured to continue playback of the media content while enabling theuser to access additional information about performance listingsassociated with the one or more of the filtered set of artists or theexpanded set of artists.
 11. A method for providing access to mediacontent associated with an artist scheduled for performance, using adigital media content environment, comprising: providing, at a mediadevice, a media application that enables display of a playlistpersonalized for a user based on a location of the user, a list ofartists scheduled for performance, and a media consumption history ofthe user; wherein an input action can be performed by the user to causea media server to populate the playlist with media content accessible tothe user via the playlist; and wherein the media server, upon the userperforming the input action, determines the location of the user,queries a database comprising performance listings, each of whichperformance listings is associated with an artist scheduled forperformance, to retrieve performance listings within a predetermineddistance of the location of the user, queries a database comprisingmedia consumption histories of a plurality of users of the mediaapplication, to retrieve the media consumption history of the user,wherein the media consumption history of the user describes mediacontent items previously delivered from the media server to the user,determines an initial set of artists to be used in filtering theperformance listings, based on the retrieved media consumption historyof the user, filters the retrieved performance listings based on theretrieved media consumption history of the user to obtain a filtered setof artists having performance listings relevant to the user, queries adatabase comprising aggregate delivery information of media contentitems to other users, including listening profiles identifying mediacontent and artists played by the other users, to determine one or moreother users having listening profiles similar to a listening profileassociated with the user, selects one or more additional artistsidentified in the listening profiles of the one or more other usershaving listening profiles similar to the listening profile associatedwith the user, determines the one or more additional artists havingperformance listings within the predetermined distance of the locationof the user, as an expanded set of artists, based on the aggregatedelivery information, determines a media content item associated witheach artist from one or more of the filtered set of artists, or expandedset of artists, and organizes and populates the playlist with thedetermined media content items.
 12. The method of claim 11, wherein uponpopulating the playlist the media server provides information regardingthe performance listing for each artist from the one or more of thefiltered set of artists or the expanded set of artists, accessible tothe user via the playlist.
 13. The method of claim 12, wherein theinformation regarding the performance listing for each artist from theone or more of the filtered set of artists or the expanded set ofartists includes an ability to purchase an admission ticket to theperformance.
 14. The method of claim 11, wherein the playlist isorganized chronologically by earliest date of the performance listingfor each artists from the one or more of the filtered set of artists orthe expanded set of artists.
 15. The method of claim 11, wherein thefiltered set of artists obtained is limited to a maximum number ofartists selected based on highest user interest as determined based onthe retrieved media consumption history of the user.
 16. The method ofclaim 11, wherein the determined media content associated with eachartist is identified based on one or more of content popularity, contentrelease date, artist preference, and publisher preference.
 17. Themethod of claim 11, wherein the selected media content items within theplaylist are organized based on one or more of tempo, tone, intensity,style, or genre.
 18. The method of claim 11, wherein the listeningprofiles are generated based on metadata describing user interactionswith the media application.
 19. The method of claim 11, wherein themedia application is configured to continue playback of the mediacontent while enabling the user to access additional information aboutperformance listings associated with the one or more of the filtered setof artists or the expanded set of artists.
 20. A non-transitory computerreadable storage medium, including instructions stored thereon whichwhen read and executed by one or more computers cause the one or morecomputers to perform the steps comprising: providing, at a media device,a media application that enables display of a playlist personalized fora user based on a location of the user, a list of artists scheduled forperformance, and a media consumption history of the user; wherein aninput action can be performed by the user to cause a media server topopulate the playlist with media content accessible to the user via theplaylist; and wherein the media server, upon the user performing theinput action, determines the location of the user, queries a databasecomprising performance listings, each of which performance listings isassociated with an artist scheduled for performance, to retrieveperformance listings within a predetermined distance of the location ofthe user, queries a database comprising media consumption histories of aplurality of users of the media application, to retrieve the mediaconsumption history of the user, wherein the media consumption historyof the user describes media content items previously delivered from themedia server to the user, determines an initial set of artists to beused in filtering the performance listings, based on the retrieved mediaconsumption history of the user, filters the retrieved performancelistings based on the retrieved media consumption history of the user toobtain a filtered set of artists having performance listings relevant tothe user, queries a database comprising aggregate delivery informationof media content items to other users, including listening profilesidentifying media content and artists played by the other users, todetermine one or more other users having listening profiles similar to alistening profile associated with the user, selects one or moreadditional artists identified in the listening profiles of the one ormore other users having listening profiles similar to the listeningprofile associated with the user, determines the one or more additionalartists having performance listings within the predetermined distance ofthe location of the user, as an expanded set of artists, based on theaggregate delivery information, determines a media content itemassociated with each artist from one or more of the filtered set ofartists, or expanded set of artists, and organizes and populates theplaylist with the determined media content items.